r_core_sources = [
  'rvc.c',
  'anal_tp.c',
  'anal_objc.c',
  'casm.c',
  'cproject.c',
  'blaze.c',
  'citem.c',
  'canal.c',
  'carg.c',
  'cbin.c',
  'cconfig.c',
  'cio.c',
  'cmd.c',
  #'cmd_anal.c',
  'cmd_api.c',
  #'cmd_cmp.c',
  #'cmd_debug.c',
  #'cmd_egg.c',
  #'cmd_eval.c',
  #'cmd_flag.c',
  #'cmd_hash.c',
  #'cmd_help.c',
  #'cmd_info.c',
  #'cmd_log.c',
  #'cmd_macro.c',
  #'cmd_magic.c',
  #'cmd_meta.c',
  #'cmd_mount.c',
  #'cmd_open.c',
  #'cmd_print.c',
  #'cmd_project.c',
  #'cmd_quit.c',
  #'cmd_search.c',
  #'cmd_search_rop.c',
  #'cmd_seek.c',
  #'cmd_type.c',
  #'cmd_write.c',
  #'cmd_zign.c',
  'core.c',
  'cundo.c',
  'disasm.c',
  'cfile.c',
  'fortune.c',
  'gdiff.c',
  'zdiff.c',
  'agraph.c',
  'hack.c',
  'libs.c',
  #'linux_heap_glibc.c',
  'corelog.c',
  'panels.c',
  'patch.c',
  'cplugin.c',
  'project.c',
  'pseudo.c',
  'rtr.c',
  #'rtr_http.c',
  #'rtr_shell.c',
  'task.c',
  'vasm.c',
  'visual.c',
  'vslides.c',
  'vmarks.c',
  'vmenus.c',
  'vmenus_graph.c',
  'vmenus_zigns.c',
  'yank.c',
  join_paths('p','core_a2f.c'),
  join_paths('p','core_sixref.c'),
  join_paths('p','core_java.c')
]

r_core_inc = []
if host_machine.system() == 'windows'
  r_core_sources += 'windows_heap.c'
endif
r_core_inc = [platform_inc, include_directories(r_core_inc)]

r_core_deps = [
  r_util_dep,
  r_reg_dep,
  r_syscall_dep,
  r_search_dep,
  r_cons_dep,
  r_anal_dep,
  r_socket_dep,
  r_io_dep,
  r_fs_dep,
  r_lang_dep,
  r_magic_dep,
  r_hash_dep,
  r_flag_dep,
  r_parse_dep,
  r_egg_dep,
  r_debug_dep,
  r_crypto_dep,
  r_config_dep,
  r_bin_dep,
  r_asm_dep,
  r_bp_dep,
  platform_deps,
  gdb_dep,
  java_dep,
  lrt
]

if use_libuv
  r_core_deps += libuv_dep
endif

r_core = library('r_core', r_core_sources,
  include_directories: r_core_inc,
  c_args: library_cflags,
  dependencies: r_core_deps,
  install: true,
  implicit_include_directories: false,
  install_rpath: rpath_lib,
  soversion: r2_libversion
)

r_core_dep = declare_dependency(link_with: r_core, include_directories: r_core_inc)

pkgconfig_mod.generate(
  r_core,
  subdirs: 'libr',
  version: r2_version,
  name: 'r_core',
  filebase: 'r_core',
  libraries: pkgcfg_sanitize_libs,
  requires: pkgconfig_magic_requires + [
    'r_util',
    'r_reg',
    'r_syscall',
    'r_search',
    'r_cons',
    'r_anal',
    'r_socket',
    'r_io',
    'r_fs',
    'r_lang',
    'r_hash',
    'r_flag',
    'r_parse',
    'r_egg',
    'r_debug',
    'r_crypto',
    'r_config',
    'r_bin',
    'r_asm',
    'r_bp'
  ],
  description: 'radare foundation libraries'
)
